package com.tarena.lbs.marketing.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.BasePageList;
import com.tarena.lbs.pojo.marketing.bo.CouponBO;
import com.tarena.lbs.pojo.marketing.bo.UserReceiveCouponBO;
import com.tarena.lbs.pojo.marketing.param.UserReceiveCouponParam;
import com.tarena.lbs.pojo.marketing.query.CouponQuery;
import com.tarena.lbs.pojo.marketing.query.UserCouponCodeQuery;
import com.tarena.lbs.pojo.marketing.query.UserCouponQuery;

public interface CouponService {
    BasePageList<CouponBO> couponPage(CouponQuery query) throws BusinessException;

    void couponSave(CouponBO bo) throws BusinessException;

    CouponBO couponDetail(Integer id);

    void saveUserReceiveCoupon(UserReceiveCouponParam param) throws BusinessException;

    BasePageList<UserReceiveCouponBO> userReceivePage(UserCouponQuery query) throws BusinessException;

    UserReceiveCouponBO userReceiveDetail(UserCouponCodeQuery query) throws BusinessException;
}
